/**
 * @PROJECT_NAME design_patterns
 * @DESCRIPTION 原型模式 Prototype Pattern
 * <p>
 * 用一个已经创建的实例作为原型，通过复制原型对象来创建一个和原型相同的对象。
 * <p>
 * 原型的考试克隆分为浅克隆与深克隆。
 * 浅克隆：创建一个对象，新对象的属性和原来对象完全相同，对于非基本类型属性，仍指向原有属性所指向的对象内存地址。
 *
 * 深克隆：创建一个新的对象，属性中引用的其他对象也会被克隆，不再指向原有对象地址。
 * <p>
 * java中Object类中提供了clone()方法实现浅克隆
 *
 * 通过序列化与反序列化可以实现深克隆。
 * <p>
 * 案例场景说明：
 * 同一个学校的"三好学生"奖状除了获奖人姓名不同，其他都相同，可以使用原型模式复制多个"三好学生"奖状出来，然后在修改奖状上的名字即可。
 * <p>
 * demo1：浅拷贝实现
 * <p>
 * demo2：浅拷贝的对象中有非基本类型属性的属性时，无法实现对象拷贝的案例演示
 * <p>
 * demo3：深拷贝实现
 * @AUTHOR CNBruceLee
 * @DATE 2021/7/11 22:05
 */
package com.bruce.demo2.patterns.demo1.creational.demo04.Prototype;

class PackageInfo {

}
